package com.faya.green.controller;

import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.bind.annotation.InitBinder;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 用户 ：LX
 * 创建时间： 2018/8/19. 21:27
 * 地点：广州
 * 目的: 处理前端传给后端的时间格式自动转换。
 *  前端给后端的时间格式是字符串的，无法直接转换为后端的date类型，用这个就可以直接全局处理这种时间类型转换的问题
 *  这种方式的优点是：可以全局统一处理，不用再关注具体需要转换的日期字段
 *      缺点就是：只能定义一种日期类型，我定义了”yyyy-MM-dd”就没法定义”yyyy-MM-dd HH:mm:ss”，
 *      如果我前台不同页面过来的日期格式不一样就不好办了
 *  注意，这个写了之后，其他的要继承这个controller才行，否则也是没用的
 *
 *  还有一种方案，是将  @DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)注解在实体字段上
 * 结果：
 */
public class BaseController {

    @InitBinder
    public void initBinder(ServletRequestDataBinder binder) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf, true));
    }
}
